package com.lingchou.cloud.process.client.entity;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;

/**
 * 流程定义补充表
 */
@Setter
@Getter
@ToString
@Entity
@Table(name = "definition_supplementary")
public class DefinitionSupplementary {

    /**
     * 变量ID
     */
    @Id
    @Column(columnDefinition = "varchar(64) comment'流程定义ID'" )
    private String id;

    /**
     * 流程定义ID
     */
    @Column(nullable = false,columnDefinition = "varchar(64) default '' comment'流程定义ID'")
    private String procDefId;

    /**
     * 任务定义ID
     */
    @Column(nullable = false,columnDefinition = "varchar(64) default '' comment'任务定义表'")
    private String taskDefId;

    /**
     * 选人范围
     */
    @Column(nullable = false,columnDefinition = "varchar(32) default '' comment'选人范围'")
    private String selectionRange;

    /**
     * 节点类型
     */
    @Column(nullable = false,columnDefinition = "varchar(64) default '' comment'节点类型变量名称 包括单人节点、与签、或签'")
    private String nodeTypeParamName;

    /**
     * 人员集合变量名称
     */
    @Column(nullable = false,columnDefinition = "varchar(64) default '' comment'人员集合变量名称'")
    private String personCollParamName;

    /**
     * 截止时间变量名称
     */
    @Column(nullable = false,columnDefinition = "varchar(64) default '' comment'截止时间变量名称'")
    private String dueTimeParamName;

    /**
     * 创建时间
     */
    @Column(nullable = false)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @Column(nullable = false)
    private LocalDateTime updateTime;
}
